
component accessors="true" output="false" extends="AbsDelegate"
{

	property name="PreferenceFactory" type="it.millemultimedia.easyBlog.factory.PreferenceFactory";

	public it.millemultimedia.easyBlog.delegate.PreferenceDelegate function init( required Any dataObject ){
		
		variables.dataObject = arguments.dataObject;
		
		return this;
	}
	
	public it.millemultimedia.easyBlog.validator.PreferenceValidator function getValidator(){
		
		return getPreferenceFactory().getValidator();
	}
	
	public it.millemultimedia.easyBlog.model.Preference function createInstance(){
		
		return getPreferenceFactory().createInstance();
	}
	
	public it.millemultimedia.easyBlog.model.Preference[] function createList( required String list, required String propertyName ){
		
		return getPreferenceFactory().createList( arguments.list, arguments.propertyName);
	}
	

	public void function create( required Any Preference ){
		
		variables.dataObject.create( argumentCollection=arguments );
		
	}

	public void function update( required Any Preference ){
		
		variables.dataObject.update( argumentCollection=arguments );
		
	}

	public it.millemultimedia.easyBlog.model.Preference function read( required Any Preference ){
	
		var list = "";
		var Preferences = variables.dataObject.read( arguments.Preference );
		
		Preference = getPreferenceFactory().get( Preferences );
		
		
		return Preference;
		
	}

	public void function delete( required Any Preference ){
		
		variables.dataObject.delete( argumentCollection=arguments );
		
	}

	public it.millemultimedia.easyBlog.model.Preference[] function list( required Any Preference, Numeric start=0, Numeric count=0 ){
	
		var list = "";
		var Preferences = variables.dataObject.list( arguments.Preference );
		
		list = getPreferenceFactory().list( Preferences, arguments.start, arguments.count );
		
		
		return list;
		
	}

}


